package com.newland.esp.common.util.SDK;

import com.google.gson.Gson;
import com.newland.esp.common.util.ThreadLocalUtils;
import com.newland.esp.entity.responseEntity.base.BaseResponseEntity;
import rx.Observer;

public  class MyObserver<T> implements Observer<BaseResponseEntity<T>> {
    public void onCompleted() {
    }

    public void onError(Throwable throwable) {
        System.out.println(throwable.getMessage());
    }

    public void onNext(BaseResponseEntity<T> baseResponseEntity) {
//Gson 参考博客：https://www.cnblogs.com/three-fighter/p/13019694.html 里面的前后端分离Element-ui+Spring Boot有时间也实现一下
        Gson gson = new Gson();
        System.out.println("============================================");
        System.out.println(gson.toJson(baseResponseEntity));
        ThreadLocalUtils.setMap("Status",gson.toJson(baseResponseEntity));
    }

    //    onNext方法可以无限调用，Observer（观察者）所有的都能接收到，
    //    onError和onComplete是互斥的，Observer（观察者）只能接收到一个，
    //    OnComplete可以重复调用，但是Observer（观察者）只会接收一次，
    //    而onError不可以重复调用，第二次调用就会报异常。
    //参考博客：https://www.jianshu.com/p/cd3557b1a474
}
